using System;
using System.Collections.Generic;

namespace SmartHealthcare.Read.Api.DTo
{
    /// <summary>
    /// 每日费用清单DTO
    /// </summary>
    public class DailyExpenseReportDto
    {
        /// <summary>
        /// 报表日期
        /// </summary>
        public DateTime ReportDate { get; set; }
        
        /// <summary>
        /// 病人卡号
        /// </summary>
        public string MedicalCard { get; set; }
        
        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; }
        
        /// <summary>
        /// 性别
        /// </summary>
        public string Gender { get; set; }
        
        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }
        
        /// <summary>
        /// 科室名称
        /// </summary>
        public string DepartmentName { get; set; }
        
        /// <summary>
        /// 床位号
        /// </summary>
        public string BedNumber { get; set; }
        
        /// <summary>
        /// 入院日期
        /// </summary>
        public DateTime AdmissionDate { get; set; }
        
        /// <summary>
        /// 总费用
        /// </summary>
        public decimal TotalAmount { get; set; }
        
        /// <summary>
        /// 医保报销金额
        /// </summary>
        public decimal InsuranceAmount { get; set; }
        
        /// <summary>
        /// 自费金额
        /// </summary>
        public decimal SelfPayAmount { get; set; }
        
        /// <summary>
        /// 费用明细项目
        /// </summary>
        public List<ExpenseItemDto> ExpenseItems { get; set; } = new List<ExpenseItemDto>();
        
        /// <summary>
        /// 按类型统计的费用明细
        /// </summary>
        public List<ExpenseTypeStatisticsDto> TypeStatistics { get; set; } = new List<ExpenseTypeStatisticsDto>();
    }
    
    /// <summary>
    /// 费用明细项目DTO
    /// </summary>
    public class ExpenseItemDto
    {
        /// <summary>
        /// 项目名称
        /// </summary>
        public string ItemName { get; set; }
        
        /// <summary>
        /// 项目类型
        /// </summary>
        public string ItemType { get; set; }
        
        /// <summary>
        /// 规格
        /// </summary>
        public string Specification { get; set; }
        
        /// <summary>
        /// 单价
        /// </summary>
        public decimal UnitPrice { get; set; }
        
        /// <summary>
        /// 数量
        /// </summary>
        public int Quantity { get; set; }
        
        /// <summary>
        /// 总金额
        /// </summary>
        public decimal TotalAmount { get; set; }
        
        /// <summary>
        /// 医保报销金额
        /// </summary>
        public decimal InsuranceAmount { get; set; }
        
        /// <summary>
        /// 自费金额
        /// </summary>
        public decimal SelfPayAmount { get; set; }
        
        /// <summary>
        /// 费用产生时间
        /// </summary>
        public DateTime ExpenseTime { get; set; }
    }
} 